package com.itools.core.em;


import com.itools.core.code.SystemCode;

/**
 * @description:
 * @author: XUCHANG
 * @create: 2021-03-28 15:51
 */
@SystemCode
public class FmsCodeBean {

    public enum FmsCode {

        FAIL_SYSTEM("FMSCODE00", "系统内部错误，请联系管理员！"),
        /**
         * 文件系统内部错误
         */
        FAIL("FMSCODE01", "文件系统内部错误"),
        /**
         * BUSINESS_TYPE不存在
         */
        ERROR_BUSINESS_TYPE_NOT_EXIST("FMSCODE02", "BUSINESS_TYPE不存在"),
        /**
         * 文件不能为空
         */
        ERROR_FILE_IS_NULL("FMSCODE03", "文件不能为空"),
        /**
         * 参数错误
         */
        ERROR_PARAMS("FMSCODE04", "参数错误"),
        /**
         * 文件上传时间限定超时
         */
        ERROR_TIMEOUT("FMSCODE05", "文件上传时间限定超时"),
        /**
         * 文件大小超过限制
         */
        ERROR_FILESIZE_OUT_OFF_LIMIT("FMSCODE06", "文件大小超过限制"),
        /**
         * 该文件类型不允许
         */
        ERROR_FILETYPE("FMSCODE07", "该文件类型不允许"),
        /**
         * 文件ID非法
         */
        INVALID_FS_UNIQUE_ID("FMSCODE08", "文件ID非法"),
        ERROR_TRANS_BASE64("FMSCODE09", "文件转base64失败"),
        /**
         * 鉴权失败
         */
        INVALID_FS_TOKEN("FMSCODE10", "鉴权失败"),
        /**
         * 找不到该文件
         * 错误码直接放到response中，所以按照http的规范设置
         */
        NOT_EXIST_FILE("FMSCODE11", "找不到该文件"),
        FILE_LIMIT_SIZE("FMSCODE12", "文件上传个数受限"),
        FILE_MULTIPART_UPLOAD("FMSCODE13", "批量上传文件失败"),
        FAIL_FILE_TOKEN("FMSCODE14", "上传申请的TOKEN无效，请重新申请！"),
        FILE_TOKEN_NOT_NULL("FMSCODE15", "文件访问的TOKEN不能为空"),
        FAIL_UPLOAD_FILE_TO_MINIO("FMSCODE16", "文件上传到服务器失败，请联系管理员！"),
        ;

        public final String code;
        public final String message;

        FmsCode(String code, String message) {
            this.code = code;
            this.message = message;
        }

        public String getCode() {
            return code;
        }

        public String getMessage() {
            return message;
        }
    }
}
